package org.example.service;

import org.example.bean.GradeBean;
import org.example.bean.UserBean;

import java.util.List;

public interface IUserService {
    /**
     * 登录
     * 输入用户名、密码，得到登陆用户对象，同时包含该用户拥有的权限列表
     * @param userName 用户名
     * @param passWord 密码
     * @return 登录成功返回登录用户对象，登录失败返回空
     */
    public UserBean login(String userName,String passWord);

    /**
     * 输入权限名称、用户ID，得到该用户是否有该权限
     * @param userID 用户ID
     * @param gradeName 权限名称
     * @return 是否有该权限
     */
    public boolean isGradeByID(Integer userID,String gradeName);

    /**
     * 1、添加用户
     * 2、同时添加该用户的权限
     * @param userBean 用户对象
     * @param gradeList 权限集合
     */
    public void add(UserBean userBean, List<Integer> gradeList);

    /**
     * 按编号查询用户，同时查询该用户的权限。
     * @param userID 用户id
     * @return 用户对象
     */
    public UserBean findByID(Integer userID);

    /**
     * 修改权限
     * 输入用户ID，新的权限数组，完成该用户权限的修改
     * 1、删除旧权限
     * 2、添加新权限
     * @param userID 用户ID
     * @param newGradeList 新的权限数组
     */
    public void update(Integer userID,List<Integer> newGradeList);
}
